In [ ]:
%load_ext sql
%sql sqlite://

In [ ]:

Ввод/Вывод в ipython notebook

Пользовательский ввод осуществляется использованием конструкции input


In [ ]:
a = input("Enter new name:")

Вывод одной переменной

Для вывода одной переменной на блок достаточно написать имя этой переменной


In [ ]:
a

Если необходимо вывести несколько переменных, то лучше использовать конструкцию print


In [ ]:
b = input("Enter b:")
print(a,b)

Тип данных список

Списки в Python - упорядоченные изменяемые коллекции объектов произвольных типов (очень похоже на массив, однако, список позволяет хранить разные типы данных). Инициализация через list() или []


In [ ]:
a = ["список"]
b = list("список")
print("a=", a)
print("b={}".format(b))

Генераторы списков

Генераторы списков - способ построить новый список, применяя выражение к каждому элементу последовательности


In [ ]:
a = [1,2,3]
b = [x**2 for x in a]
print(a)
print(b)

Методы работы со списками

list.append(x) - Добавление элемента в конец списка


In [ ]:
a = [1, 2, 3]
print(a)
a.append(4)
print(a)

list.extend(L) - Расширение списка L добавлением в конец всех элементов списка L


In [ ]:
a = [1, 2, 3]
b = [4, 6]
print(a)
a.extend(b)
print(a)

list.insert(i, x) - Вставка на i-ый элемент значения x


In [ ]:
a = [1, 2, 3]
print(a)
a.insert(1, "a")
print(a)

list.remove(x) - удаление первого элемента в списке со значением x. ValueError, если такого элемента не существует.


In [ ]:
a =[2, 1, 3, 1, 2, 1]
print(a)
a.remove(1)
print(a)

In [ ]:
a = [3, 4, 5]
print(a)
a.remove(2)

In [ ]:
a = [3, 4, 5]
print(a)
try:
    a.remove(2)
except ValueError:
    print("Что-то пошло не так")

list.pop([i]) - Удаляет i-ый элемент и удаляет его. Если индекс не указан, удаляется последний элемент


In [ ]:
a = [3, 4, 5, 6, 7, 8]
print(a)
b = a.pop()
print(a)
print(b)
b = a.pop(1)
print(a)
print(b)

list.index(x, [start [, end]]) - возвращает положение первого элемента со значением x (при этом поиск введется от start до end) Возвращает


In [ ]:
a = [3, 4, 5, 6, 33, 3, 9]
print(a.index(3))
print(a.index(3, 3))
print(a.index(3, 3, 5))

list.count(x) - возвращает количество элементов со значением x


In [ ]:
a = [1, 2, 3, 4, 1]
print(a.count(1))
print(a.count(4))
print(a.count(6))

list.sort([key=функция], [reverse=True])


In [ ]:
a = [1, 2, 3, 4]
a.sort()

In [ ]:
print(a)

In [ ]:
a.sort(reverse=True)

In [ ]:
print(a)

In [ ]:
a.sort(key = lambda x: (1/2-x%2)* x)

In [ ]:
print(a)

In [ ]:
sorted(a, reverse=False)

In [ ]:
print(a)

list.reverse() - разворачивание списка.


In [ ]:
a = [1, 6, 7, 2]

In [ ]:
a.reverse()

In [ ]:
print(a)

list.copy() - поверхностная копия списка


In [ ]:
a = [1, 2, 3]
b = a
print(a, b)
a.append(4)
print(a, b)

In [ ]:
a = [1, 2, 3]
b = a.copy()
print(a, b)
a.append(4)
print(a, b)

list.clear() - очистка списка


In [ ]:
a = [1, 2, 3]

In [ ]:
a.clear()

In [ ]:
a

Функции

Функция в python - объект, принимающий аргументы и возвращающий значение. Обычно функция определяется с помощью инструкции def.


In [ ]:
def add(x,y):
    return x + y

In [ ]:
add(1,2)

In [ ]:
add(1,2)

In [ ]:
add('a', 'b')

In [ ]:
add([1,2,3], [2,3])

Функция также может принимать переменное количество позиционных аргументов, тогда перед именем ставится *:


In [ ]:
def func(*argc):
    return argc

In [ ]:
func(1, 2, 3, 4)

In [ ]:
def add_new(*argc):
    return sum([x for x in argc])

In [ ]:
add_new(1,2,3)

In [ ]:
add_new('a', 'b', 'c', 'd')

In [ ]:
def add_new2(*argc):
    if argc is ():
        return ()
    res = argc[0]
       
    for i in argc[1:]:
        res += i
    return res

In [ ]:
add_new2()

In [ ]:
add_new2(1,2,3)

In [ ]:
add_new2('a', 'b', 'c')

Анонимные функции


In [ ]:
func1 = lambda x, y: x + y

In [ ]:
func1(1,2)

То же самое, что и


In [ ]:
def func2(x,y):
    return x + y

In [ ]:
func2(1,2)

In [ ]: